package com.wuyan.locationdog.database

import androidx.room.Room
import com.blankj.utilcode.util.ActivityUtils

object DatabaseManager {
    private var mDb: AppDatabase? = null
    fun getDatabase(): AppDatabase? {
        if (mDb == null) {
            mDb = Room.databaseBuilder(
                ActivityUtils.getTopActivity().applicationContext,
                AppDatabase::class.java,
                "wlb.db"
            )
                .allowMainThreadQueries()
                .build()
        }
        return mDb
    }

    //新增
    @Synchronized
    fun addLatLngEntity(latLng: LatLngEntity) {
        getDatabase()?.latLngDao()?.addLatLngEntity(latLng)
    }

    //删除
    @Synchronized
    fun deleteLatLngEntity(latLng: LatLngEntity) {
        getDatabase()?.latLngDao()?.deleteLatLngEntity(latLng)
    }

    //修改
    @Synchronized
    fun updateLatLngEntity(latLng: LatLngEntity) {
        getDatabase()?.latLngDao()?.updateLatLngEntity(latLng)
    }

    //获取所有数据
    @Synchronized
    fun getLatLngEntityList(): List<LatLngEntity>? {
        return getDatabase()?.latLngDao()?.getLatLngEntityList()
    }

    @Synchronized
    fun clearAllTables() {
        getDatabase()?.clearAllTables()
    }
}